//
//  DB_BaseViewModel.h
//  RacMVVM
//
//  Created by 崔博 on 2018/11/23.
//  Copyright © 2018年 崔博. All rights reserved.
//

typedef NS_ENUM(NSUInteger, DBTitleViewType) {
    /// System title view
    DBTitleViewTypeDefault,
    /// Double title view
    DBTitleViewTypeDoubleTitle,
};
#import <Foundation/Foundation.h>

@protocol DB_BaseViewModelProtocol;


@interface DB_BaseViewModel : NSObject

- (instancetype)initWithService:(id<DB_BaseViewModelProtocol>)service parms:(NSDictionary *)parms;

@property (nonatomic, strong, readonly) id<DB_BaseViewModelProtocol> services;

@property (nonatomic, copy, readonly) NSDictionary *params;

@property (nonatomic, copy) NSString *title;

@property (nonatomic, strong, readonly) RACSubject *errors;

@property (nonatomic, strong, readonly) RACSubject *willDisappearSignal;

@property (nonatomic, assign) BOOL shouldRequestRemoteDataOnViewDidLoad;
/// This method will be execute after the execution of `-initWithServices:params:` method. But
/// the premise is that you need to inherit `DB_BaseViewModel`.
- (void)initialize;
@end
